

/* this ALWAYS GENERATED file contains the definitions for the interfaces */


 /* File created by MIDL compiler version 7.00.0500 */
/* at Sun May 04 15:05:12 2014
 */
/* Compiler settings for .\axSoftPhone.idl:
    Oicf, W1, Zp8, env=Win32 (32b run)
    protocol : dce , ms_ext, c_ext, robust
    error checks: stub_data 
    VC __declspec() decoration level: 
         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
         DECLSPEC_UUID(), MIDL_INTERFACE()
*/
//@@MIDL_FILE_HEADING(  )

#pragma warning( disable: 4049 )  /* more than 64k source lines */


/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__

#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/

#ifndef __axSoftPhone_i_h__
#define __axSoftPhone_i_h__

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

/* Forward Declarations */ 

#ifndef __ISoftPhoneInterface_FWD_DEFINED__
#define __ISoftPhoneInterface_FWD_DEFINED__
typedef interface ISoftPhoneInterface ISoftPhoneInterface;
#endif 	/* __ISoftPhoneInterface_FWD_DEFINED__ */


#ifndef ___ISoftPhoneInterfaceEvents_FWD_DEFINED__
#define ___ISoftPhoneInterfaceEvents_FWD_DEFINED__
typedef interface _ISoftPhoneInterfaceEvents _ISoftPhoneInterfaceEvents;
#endif 	/* ___ISoftPhoneInterfaceEvents_FWD_DEFINED__ */


#ifndef __SoftPhoneInterface_FWD_DEFINED__
#define __SoftPhoneInterface_FWD_DEFINED__

#ifdef __cplusplus
typedef class SoftPhoneInterface SoftPhoneInterface;
#else
typedef struct SoftPhoneInterface SoftPhoneInterface;
#endif /* __cplusplus */

#endif 	/* __SoftPhoneInterface_FWD_DEFINED__ */


/* header files for imported files */
#include "oaidl.h"
#include "ocidl.h"

#ifdef __cplusplus
extern "C"{
#endif 


/* interface __MIDL_itf_axSoftPhone_0000_0000 */
/* [local] */ 

typedef struct stSpConfig
    {
    unsigned char *pcSvrIp;
    long iSvrPort;
    unsigned char *pcLogFile;
    unsigned char *pcPhone;
    unsigned char *pcNickName;
    unsigned char *pcPasswd;
    long iExpire;
    long lSipMsgNotifyWnd;
    long lLocalWnd;
    long lRemoteWnd;
    } 	stSpConfig;



extern RPC_IF_HANDLE __MIDL_itf_axSoftPhone_0000_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_axSoftPhone_0000_0000_v0_0_s_ifspec;

#ifndef __ISoftPhoneInterface_INTERFACE_DEFINED__
#define __ISoftPhoneInterface_INTERFACE_DEFINED__

/* interface ISoftPhoneInterface */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_ISoftPhoneInterface;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("93F91CB9-AB82-4958-8D2F-6434B251A071")
    ISoftPhoneInterface : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Hello( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE InitConfig( 
            /* [in] */ stSpConfig *_stSpCfg) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE StartSoftphone( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE MakeCall( 
            /* [in] */ BSTR strNumber,
            /* [in] */ LONG *lCallId) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetLocalPlayWnd( 
            /* [in] */ LONG lLocalWnd) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetRemoteWnd( 
            /* [in] */ LONG lRemoteWnd) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE SetNotifyWnd( 
            /* [in] */ LONG lNotifyWnd) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Hangup( 
            /* [in] */ LONG lCallId) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE HangupAll( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Answer( 
            /* [in] */ LONG lCallId,
            /* [in] */ LONG lParam) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Register( 
            /* [in] */ BSTR _strUri,
            /* [in] */ BSTR _strPassword,
            /* [out] */ LONG *lAccountId) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DeInitSoftPhone( void) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE UnRegister( 
            /* [in] */ LONG lAccountId) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct ISoftPhoneInterfaceVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ISoftPhoneInterface * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ISoftPhoneInterface * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ISoftPhoneInterface * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            ISoftPhoneInterface * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            ISoftPhoneInterface * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            ISoftPhoneInterface * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            ISoftPhoneInterface * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Hello )( 
            ISoftPhoneInterface * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *InitConfig )( 
            ISoftPhoneInterface * This,
            /* [in] */ stSpConfig *_stSpCfg);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *StartSoftphone )( 
            ISoftPhoneInterface * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *MakeCall )( 
            ISoftPhoneInterface * This,
            /* [in] */ BSTR strNumber,
            /* [in] */ LONG *lCallId);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetLocalPlayWnd )( 
            ISoftPhoneInterface * This,
            /* [in] */ LONG lLocalWnd);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetRemoteWnd )( 
            ISoftPhoneInterface * This,
            /* [in] */ LONG lRemoteWnd);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *SetNotifyWnd )( 
            ISoftPhoneInterface * This,
            /* [in] */ LONG lNotifyWnd);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Hangup )( 
            ISoftPhoneInterface * This,
            /* [in] */ LONG lCallId);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *HangupAll )( 
            ISoftPhoneInterface * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Answer )( 
            ISoftPhoneInterface * This,
            /* [in] */ LONG lCallId,
            /* [in] */ LONG lParam);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Register )( 
            ISoftPhoneInterface * This,
            /* [in] */ BSTR _strUri,
            /* [in] */ BSTR _strPassword,
            /* [out] */ LONG *lAccountId);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DeInitSoftPhone )( 
            ISoftPhoneInterface * This);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *UnRegister )( 
            ISoftPhoneInterface * This,
            /* [in] */ LONG lAccountId);
        
        END_INTERFACE
    } ISoftPhoneInterfaceVtbl;

    interface ISoftPhoneInterface
    {
        CONST_VTBL struct ISoftPhoneInterfaceVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISoftPhoneInterface_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISoftPhoneInterface_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISoftPhoneInterface_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISoftPhoneInterface_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define ISoftPhoneInterface_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define ISoftPhoneInterface_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define ISoftPhoneInterface_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define ISoftPhoneInterface_Hello(This)	\
    ( (This)->lpVtbl -> Hello(This) ) 

#define ISoftPhoneInterface_InitConfig(This,_stSpCfg)	\
    ( (This)->lpVtbl -> InitConfig(This,_stSpCfg) ) 

#define ISoftPhoneInterface_StartSoftphone(This)	\
    ( (This)->lpVtbl -> StartSoftphone(This) ) 

#define ISoftPhoneInterface_MakeCall(This,strNumber,lCallId)	\
    ( (This)->lpVtbl -> MakeCall(This,strNumber,lCallId) ) 

#define ISoftPhoneInterface_SetLocalPlayWnd(This,lLocalWnd)	\
    ( (This)->lpVtbl -> SetLocalPlayWnd(This,lLocalWnd) ) 

#define ISoftPhoneInterface_SetRemoteWnd(This,lRemoteWnd)	\
    ( (This)->lpVtbl -> SetRemoteWnd(This,lRemoteWnd) ) 

#define ISoftPhoneInterface_SetNotifyWnd(This,lNotifyWnd)	\
    ( (This)->lpVtbl -> SetNotifyWnd(This,lNotifyWnd) ) 

#define ISoftPhoneInterface_Hangup(This,lCallId)	\
    ( (This)->lpVtbl -> Hangup(This,lCallId) ) 

#define ISoftPhoneInterface_HangupAll(This)	\
    ( (This)->lpVtbl -> HangupAll(This) ) 

#define ISoftPhoneInterface_Answer(This,lCallId,lParam)	\
    ( (This)->lpVtbl -> Answer(This,lCallId,lParam) ) 

#define ISoftPhoneInterface_Register(This,_strUri,_strPassword,lAccountId)	\
    ( (This)->lpVtbl -> Register(This,_strUri,_strPassword,lAccountId) ) 

#define ISoftPhoneInterface_DeInitSoftPhone(This)	\
    ( (This)->lpVtbl -> DeInitSoftPhone(This) ) 

#define ISoftPhoneInterface_UnRegister(This,lAccountId)	\
    ( (This)->lpVtbl -> UnRegister(This,lAccountId) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISoftPhoneInterface_INTERFACE_DEFINED__ */



#ifndef __axSoftPhoneLib_LIBRARY_DEFINED__
#define __axSoftPhoneLib_LIBRARY_DEFINED__

/* library axSoftPhoneLib */
/* [helpstring][version][uuid] */ 


EXTERN_C const IID LIBID_axSoftPhoneLib;

#ifndef ___ISoftPhoneInterfaceEvents_DISPINTERFACE_DEFINED__
#define ___ISoftPhoneInterfaceEvents_DISPINTERFACE_DEFINED__

/* dispinterface _ISoftPhoneInterfaceEvents */
/* [helpstring][uuid] */ 


EXTERN_C const IID DIID__ISoftPhoneInterfaceEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("E7E59CCD-2980-479E-B34A-47475B6BE1A3")
    _ISoftPhoneInterfaceEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct _ISoftPhoneInterfaceEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            _ISoftPhoneInterfaceEvents * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            _ISoftPhoneInterfaceEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            _ISoftPhoneInterfaceEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            _ISoftPhoneInterfaceEvents * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            _ISoftPhoneInterfaceEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            _ISoftPhoneInterfaceEvents * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            _ISoftPhoneInterfaceEvents * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        END_INTERFACE
    } _ISoftPhoneInterfaceEventsVtbl;

    interface _ISoftPhoneInterfaceEvents
    {
        CONST_VTBL struct _ISoftPhoneInterfaceEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define _ISoftPhoneInterfaceEvents_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define _ISoftPhoneInterfaceEvents_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define _ISoftPhoneInterfaceEvents_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define _ISoftPhoneInterfaceEvents_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define _ISoftPhoneInterfaceEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define _ISoftPhoneInterfaceEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define _ISoftPhoneInterfaceEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* ___ISoftPhoneInterfaceEvents_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_SoftPhoneInterface;

#ifdef __cplusplus

class DECLSPEC_UUID("A152BB18-EF3C-4B65-A520-439A44435F9B")
SoftPhoneInterface;
#endif
#endif /* __axSoftPhoneLib_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


